#pragma once

#define RENDERER_WRITE_LOGS 1 // zapisywane beda logi 

/*--------------------------------------------------------------------------*/
#include <cstdlib>
#include <string>
#include <vector>
#include <map>
#include <sstream>
#include <fstream>
#include <cmath>
#include <iomanip>

#include "Globals.h"

/*--------------------------------------------------------------------------*/
#include "Color.h"
#include "ViaMain.h"
#include "Globals.h"
#include "Variable.h"

/*--OpenGL------------------------------------------------------------------*/
#include "GL/glew.h"

#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glew32.lib")

/*--SOIL--------------------------------------------------------------------*/
#include "SOIL/SOIL.h"

#pragma comment(lib, "SOIL.lib")

/*--GLM---------------------------------------------------------------------*/
#define GLM_FORCE_SSE2
#include "glm/glm.hpp"
#include "glm/ext.hpp"
#include "glm/gtc/quaternion.hpp"
#include "glm/gtx/quaternion.hpp"
#include "GlmHelper.h"

/*--------------------------------------------------------------------------*/

#include "TextureWrapper.h"
#include "BlendWrapper.h"
#include "ClearWrapper.h"
#include "CommonWrapper.h"
#include "PolygonWrapper.h"
#include "DepthWrapper.h"
#include "FramebufferWrapper.h"
#include "ShaderWrapper.h"
#include "UniformWrapper.h"
#include "VertexArrayWrapper.h"
#include "VertexBufferWrapper.h"

#include "ROpenGL.h"

typedef std::map<std::string, GLTexture*>		GLTextureMap;
typedef std::vector<GLShader*>					GLShaderPtnVec;
